Methods and apparatuses for advanced multiple variable control with high dimension multiple constraints

ABSTRACT

A method and apparatus for multiple variable control of a physical plant with high dimension multiple constraints, includes: mathematically decoupling primary controlled outputs of a controlled physical plant from one another and shaping the pseudo inputs/controlled outputs desired plant dynamics; tracking primary control references and providing pseudo inputs generated by desired primary output tracking for selection; mathematically decoupling constraints from one another; mathematically decoupling constraints from non-traded off primary controlled outputs of the controlled physical plant; shaping the pseudo inputs/constraint outputs desired plant dynamics; tracking constraint control limits; providing pseudo inputs generated by desired constraint output tracking for selection; selecting the most limiting constraints and providing the smooth pseudo inputs for the decoupled primary control; and controlling the physical plant using the decoupled non-traded off primary controlled outputs and the decoupled selected most limiting constraints.

CROSS REFERENCE TO RELATED APPLICATIONS

The current application claims priority to U.S. Provisional Application Ser. No. 61/597,316, filed Feb. 10, 2012, the entire disclosure of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

The present disclosure pertains to control system design and operation when the controlled system includes multiple control targets with multiple constraints.

In a control system having more than one primary target to be controlled for multiple primary control objectives, such as thrust, fan operability, core operability, etc. (for a jet engine, for example), the control system will have multiple inputs and multiple outputs to control. Such a control system should address the challenge of multi-variable control with multiple constraints, particularly when the primary control objectives have high transient and dynamic requirements. The challenge fundamentally is a coordinated control to maintain primary control objectives as much as possible while enforcing a selected set of active constraints that can satisfy all potentially active constraints.

Traditionally, single-input-single-output (SISO) control is used for one primary control objective—for example in a gas turbine engine, fan speed only. The concerned constraints are converted to the control actuator rate—fuel rate, respectively, the constraint demanding most fuel rate is selected as most limiting constraint and enforced. Here, there is an assumption that fuel rate is always proportional to fan speed change, and fan speed changes always align up and dominate the thrust response and operability. This may be true in many operating conditions, but it is not true for certain operating conditions, such as supersonic operating area for conventional engine applications, not to mention non-conventional engine applications, such as powered lift operation.

Multiple constraints may be in one subset only, that is, at same time, only one primary controlled output needs to be traded off. There are cases, however, in which multiple constraints are in two or more subsets that require two or more primary controlled outputs to be traded off. Certainly, at most, the number of the subsets should be equal to the number of the primary control handles. For example, in the gas turbine engine example, if both “maximum core speed” and “maximum exhaust temperature” constraints are active, it may be necessary to trade off both primary controlled outputs, “fan speed” and “pressure ratio,” for better thrust and operability performance, while enforcing both the “maximum core speed” and “maximum exhaust temperature” constraints. It is a challenge to control multiple variables with higher dimension multiple constraints.

Previous approaches to solve this problem have either greatly oversimplified the problem or added substantial complexity. The oversimplified approach ignored fundamental confounding in the relationships between the controlled plant inputs and the performance trade-off and control mode selection decisions that must be made. This limited its applicability to certain 2×2 multi-input-multi-output (MIMO) systems, and does not represent a robust solution for higher dimension MIMO systems. The overly complicated approaches coupled the constraint control with the primary control, usually lost expected control objectives priority, and sacrificed the physical meaning, robustness, deterministicness, and maintainability of the control solution.

BRIEF DESCRIPTION OF THE INVENTION

The present disclosure provides a control system design methodology that incorporates a simple, deterministic, robust and systematic solution with explicit physical meaning for the advanced multi-variable control, with high dimension multiple constraint problems where the trade-off primary control outputs are pre-determined based on plant physics (for example, engine, or other plant characteristics depending upon the application). The disclosed methodology provides a fundamental solution for the problem of MIMO control with multiple constraints and/or multiple high dimension constraints, it follows that the resulted solution well coordinates the multi-variable control with the selected multiple active constraints enforcement such that, when not constrained, the primary multi-variable control has its optimized performance as designed; when constrained, the proper most limiting active constraints are correctly selected and naturally enforced by replacing the pre-determined trade-off primary control outputs, respectively. If the most limiting constraints are enforced, then the rest of the constraints can be automatically satisfied. Together they make the overall system still have desired primary control performance while running under the enforced constraints, and the traded-off primary control outputs have natural fall-out.

Consider the Multiple Variable Control with Multiple Constraints as a whole space. One subspace is a class with only one subset of constraints to be active and only one primary control output to be traded off—this is single-dimension multiple constraints case. The rest of the space is with two or more subsets of constraints to be active and two or more primary controls to be traded off—this is high dimension multiple constraints case. The control system design methodology provided by this disclosure is not only for single dimension multiple constraints case but also for high dimension multiple constraints case.

The control system design methodology provided by this disclosure results in a simple physics based selection logic, and a mathematically decoupled primary control with decoupled constraint control. That is, the primary controlled outputs are mathematically decoupled from one another, the selected constraints in control are mathematically decoupled from one another, and the selected constraints are mathematically decoupled from primary controlled outputs. It follows that each decoupled control target can be designed via single-input-single-output (SISO) control approaches for its specific performance requirements.

According to the current disclosure, an embodiment of a control system for a physical plant (such as, for example and without limitation, a gas turbine engine control, flight control, satellite control, rocket control, automotive control, industrial process control) may include: a set of control reference signals; a set of controlled output feedback signals from the physical plant; a multiple input multiple output (MIMO) primary decoupling controller providing control command derivatives to the integral action (and enabling the shaping of desired robust control of the primary control outputs); a set of SISO lead/lag controllers that can extend the bandwidths of decoupled primary SISO loops, respectively; a set of decoupled SISO controllers for controlled outputs tracking that receive primary controlled output tracking errors and provide desired pseudo inputs, respectively; a multiple input multiple output (MIMO) constraint decoupling controller decoupling the constraints from one another, decoupling the constraints from the non-traded off primary controlled outputs, and providing pseudo inputs based on the desired constraint responses for the Selection Logic (introduced below); a set of decoupled SISO controllers for constraint outputs tracking that receive constraint output tracking errors and shape desired constraint responses, respectively; a Selection Logic which compares the pseudo inputs generated by each subset of constraints and the pseudo input generated by the primary controlled output associated with that subset, selects the most limiting constraint for that subset, and determines the final pseudo inputs to go into the SISO Lead/Lag and MIMO Primary Decoupling Controller. With such an architecture, the integral action becomes a set of common SISO integrators shared by primary control and constraint control.

According to the current disclosure, a control system for a physical plant, includes: an integral action control unit providing control signals for a physical plant; a multiple-input-multiple-output (MIMO) primary decoupling controller providing control command derivatives to the integral action control unit and thereby forming at least a decoupled controlled plant; and a multiple-input-multiple-output (MIMO) constraint decoupling controller decoupling constraint outputs from the physical plant and providing pseudo inputs to the above decoupled controlled plant. In a more detailed embodiment, a selection logic section for selecting pseudo inputs for the primary decoupling controller from those pseudo inputs calculated by: 1) the MIMO constraint decoupling controller and the constraint tracking controller; 2) the primary MIMO decoupling controller and the output tracking controller. In a further detailed embodiment, the control system further includes a set of decoupled single-input-single-output (SISO) controlled output tracking controllers receiving controlled output tracking error signals and providing pseudo input signals to the decoupled controlled plant. In a further detailed embodiment, the selection logic compares the pseudo inputs from the MIMO constraint decoupling controller and the pseudo input signals from the SISO controlled output tracking controllers and selects at least one most limiting constraint to determine pseudo inputs to the (SISO) lead/lag controllers. Alternatively, or in addition, the selection logic compares the pseudo inputs from the MIMO constraint decoupling controller and the pseudo input signals from the SISO controlled output tracking controllers and selects at least one most limiting constraint to determine pseudo inputs to (MIMO) primary decoupling controller.

In an embodiment, the control system further includes a set of single-input-single-output (SISO) lead/lag controllers to extend the bandwidths of decoupled primary SISO control loops, providing v-dot-star to the primary decoupling controller. Alternatively, or in addition, the MIMO constraint decoupling controller decouples the constraints from the non-traded off primary controlled outputs by rejecting non-traded off primary controlled outputs as known disturbance inputs. Alternatively, or in addition, the MIMO constraint decoupling controller decouples constraint outputs from one another, and decouples the constraints from the non-traded off primary controlled outputs. Alternatively, or in addition, the control system further includes a set of single-input-single-output (SISO) constraint output tracking controllers that receive constraint output tracking errors from the physical plant and shape desired constraint responses based on the MIMO constraint decoupling controller. Such constraint output tracking errors may be determined, at least in part, based upon the differences between predetermined constraint limits and constraint outputs.

According to the current disclosure a method for multiple variable control of a physical plant with not only multiple inputs and multiple outputs but also high dimension multiple constraints, includes the steps of: decoupling the multiple primary controlled outputs from one another, the step of decoupling the multiple primary controlled outputs uses a multi-input-multi-output (MIMO) primary decoupling controller; decoupling the multiple constraints from one another and decoupling the multiple constraints from non-traded off primary controlled outputs, the step of decoupling the multiple constraints involves a multi-input-multi-output (MIMO) constraint decoupling controller; and providing pseudo inputs, where the pseudo outputs generated by constraints are comparable to the pseudo outputs generated by the primary controlled outputs, to the MIMO primary decoupling controller. The method further includes a step of selecting the most limiting constraint(s) for the MIMO primary decoupling controller; where the step of selecting the most limiting constraint includes the step of comparing the pseudo inputs generated by given subsets of constraints and the pseudo input generated by the primary controlled output associated with that subset, and selecting the most limiting constraint based, at least in part, on those comparisons. The MIMO primary decoupling controller may provide decoupled control using dynamics inversion. The method may further include a step of extending the bandwidths of decoupled primary control loops using a set of single-input-single-output (SISO) lead/lag controllers upstream of the MIMO primary decoupling controller. And the step of decoupling the multiple constraints from non-traded off primary controlled outputs includes a step of rejecting the non-traded off primary controlled outputs as known disturbance inputs.

According to the current disclosure a method for multiple variable control of a physical plant with not only multiple inputs and multiple outputs but also high dimension multiple constraints, includes the steps of: mathematically decoupling primary controlled outputs of a controlled physical plant from one another; mathematically decoupling constraints from one another; mathematically decoupling selected constraints from non-traded off primary controlled outputs of the controlled physical plant; and controlling the physical plant using the decoupled primary controlled outputs and/or the decoupled selected constraints which are decoupled from the non-traded off primary controlled outputs. Such a method further includes a step of selecting one or more most limiting constraints.

Development of the advanced multiple variable control with high dimension multiple constraints will now be introduced and discussed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram representation of a control system architecture which can be multiple variable control with high dimension multiple constraints or single variable control with single dimension multiple constraints embodiment according to the current disclosure;

FIG. 2 is a block diagram representation of an exemplary implementation of the exemplary control system architecture according to the current disclosure;

FIG. 3 is a block diagram representation of an exemplary common single-input-single-output (SISO) integrator for use with the current embodiments;

FIG. 4 is a diagram representation of selection logic for a one dimension constraint set following a min/max selection principle;

FIG. 5 is a diagram representation of selection logic for a one dimension constraint set following a different min/max selection principle; and

FIG. 6 is a flow-chart representation of an exemplary selection logic process for high dimension constraint sets according to the current disclosure.

DETAILED DESCRIPTION

The present disclosure provides a control system design methodology that incorporates a simple, deterministic, robust and systematic solution with explicit physical meaning for the advanced multi-variable control, with high dimension multiple constraints problems where the trade-off primary control outputs are pre-determined based on plant physics and performance requirements (for example, engine, or other plant characteristics depending upon the application). The solution well coordinates the multi-variable control with the selected multiple active constraints enforcement such that, when not constrained, the primary multi-variable control has its optimized performance as designed; when constrained, the proper most limiting active constraints are correctly selected and naturally enforced by replacing the pre-determined trade-off primary control outputs, respectively. If the most limiting constraints are enforced, then the rest of the constraints can be automatically satisfied. Together they make the overall system still have desired primary control performance while running under the enforced constraints, and the traded-off primary control outputs have natural fall-out.

When the primary multiple variable control is not constrained, it should run to its desired performance. When the primary control is constrained, the constraint control should keep the most limiting constraints staying within their limits; and at the same time, since constraint control uses some or all primary control handles, the primary control should be traded off in an acceptable way while the intended non-traded-off part of primary control should be not impacted by enforcing the most limiting constraints.

Based on the above control design goals, first, the primary multiple variable is designed to have decoupled input/output mapping. Then multiple constraint control is designed based on the new controlled plant resulted from the primary control design such that the constraint control not only decouples constraints from one another, decouples constraints from the non-traded off primary controlled output(s), also provides the pseudo inputs that are comparable to the pseudo inputs generated by the primary controlled outputs. With such an architecture and pseudo inputs as key link, both MIMO primary control and MIMO constraint control lead to simple deterministic SISO loop design.

Mechanisms for obtaining a simple, deterministic, robust and systematic solution with explicit physical meaning for the advanced multi-variable control with multiple constraint problems include: (1) To classify constraint candidates into specific subsets, and each constraint subset is corresponding to one trade-off target of primary control outputs; (2) The number of constraint subsets should be equal to or less than the primary control handles; (3) For high dimension multiple constraints, i.e., constraints from different subsets to be active at same time, they should be decoupled before constructing the SISO constraint controllers in each subset; (4) Each constraint subset is calculating its trade-off target—the specific pseudo input based on each of the constraint regulators in this constraint subset; (5) MIMO primary control should decouple the primary controlled outputs; (6) Therefore, multi-dimension constraints should be decoupled one dimension from another dimension and decoupled from the non-traded off primary controlled outputs—it follows that the above constraint controller is a decoupled SISO regulator with desired dynamics based on constraint MIMO dynamics inversion with respect to its relative degree; (7) The most limiting constraint should be resulted from comparing the pseudo inputs generated by the constraints in each subset and the associated primary controlled output based on pre-determined selection logic; (8) The pseudo input generated by the most limiting constraint controller is applied to replace the primary control that is pre-determined to trade off; (9) The most limiting constraint(s) active/inactive transition is managed by the selection logic smoothly (Example is as shown in FIG. 6).

The design procedure and approaches of the Advanced Multiple Variable Control with High Dimension Multiple Constraints is described below.

The Original Controlled Plant

Without loss of generality, assume the original controlled plant is: x _(k+1) =f(x _(k) ,{dot over (u)} _(k) ,d _(k)) y _(k) =h(x _(k) ,{dot over (u)} _(k) ,d _(k))

At sample k, the system states x_(k), the inputs {dot over (u)}_(k−1), and the disturbances d_(k) are known. Thus, the deviation variables are expressed about this current operating condition, i.e. x_(k), {dot over (u)}_(k−1), d_(k), y_(k) ⁻=h(x_(k),{dot over (u)}_(k−1),d_(k)).

Define the deviation variables from these conditions, {tilde over (x)} _(j) =x _(j) −x _(k) {dot over (ũ)}={dot over (u)} _(j) −{dot over (u)} _(k−1) {tilde over (d)} _(j) =d _(j) −d _(k) {tilde over (y)} _(j) =y _(j) −y _(k) ⁻

The local linearized model of the system in terms of deviation variables may be derived

$\begin{matrix} {{x_{k + 1} - x_{k}} = {\overset{\sim}{x}}_{k + 1}} \\ {= \left. {{f\left( {x_{k},u_{k - 1},d_{k}} \right)} - x_{k} + \frac{\partial f}{\partial x}} \middle| {}_{k,{k - 1}}{\left( {x_{k} - x_{k}} \right) + \frac{\partial f}{\partial\overset{.}{u}}} \right|_{k,{k - 1}}} \\ {\left. {\left( {{\overset{.}{u}}_{k} - {\overset{.}{u}}_{k - 1}} \right) + \frac{\partial f}{\partial d}} \middle| {}_{k,{k - 1}}\left( {d_{k} - d_{k}} \right) \right.} \\ {= {F_{k} + {A\;{\overset{\sim}{x}}_{k}} + {B\;{\overset{.}{u}}_{k}} + {B_{d}{\overset{\sim}{d}}_{k}}}} \end{matrix}$

Approximate F_(k)≈{circumflex over (x)}_(k)=x_(k)−x_(k−1), and it is treated as a known initial condition for {tilde over (x)}_(k+1) at sample k, or, autonomous response of the system states over one control sample free from any control action update, i.e. {dot over (ũ)}_(k)=0.

$\begin{matrix} {{y_{k} - y_{k}^{-}} = {\overset{\sim}{y}}_{k}} \\ {= \left. {{h\left( {x_{k},u_{k - 1},d_{k}} \right)} - y_{k}^{-} + \frac{\partial h}{\partial x}} \middle| {}_{k,{k - 1}}{\left( {x_{k} - x_{k}} \right) + \frac{\partial h}{\partial\overset{.}{u}}} \right|_{k,{k - 1}}} \\ {\left. {\left( {{\overset{.}{u}}_{k} - {\overset{.}{u}}_{k - 1}} \right) + \frac{\partial h}{\partial d}} \middle| {}_{k,{k - 1}}\left( {d_{k} - d_{k}} \right) \right.} \\ {= {{C{\overset{\sim}{x}}_{k}} + {D_{u}\;{\overset{\sim}{\overset{.}{u}}}_{k}} + {D_{d}{\overset{\sim}{d}}_{k}}}} \end{matrix}$

The generic perturbation model based on plant dynamics partials is presented below (for example, it can be based on engine dynamics partials from cycle study): {tilde over (x)}(k+1)=A{tilde over (x)}(k)+B{dot over (ũ)}(k)+B _(d) {tilde over (d)}(k)+F _(k) {tilde over (y)}(k)=C{tilde over (x)}(k)+D _(d) {tilde over (d)}(k) {tilde over (y)} _(c)(k)=C _(c) {tilde over (x)}(k)+D _(cd) {tilde over (d)}(k) Where {tilde over (x)}εR^(n×1), {dot over (ũ)}εR^(m×1), {tilde over (y)}εR^(m×1), {tilde over (d)}εR^(q×1), {tilde over (y)}_(c)εR^(p×1), p>m.

Approximations: d(k)−d(k−1)=d(k+1)−d(k), . . . {tilde over (d)}(k+1)=d(k+1)−d(k)≈{circumflex over (d)}(k),

Without loss of generality and for clear formulation of the design process, assume that the primary control has 3 control inputs and 3 outputs, i.e. 3×3 control,

${\overset{.}{u} = \begin{bmatrix} {\overset{.}{u}}_{1} \\ {\overset{.}{u}}_{2} \\ {\overset{.}{u}}_{3} \end{bmatrix}},{y = \begin{bmatrix} y_{1} \\ y_{2} \\ y_{3} \end{bmatrix}},{y_{c} = {\begin{bmatrix} y_{c\; 1} \\ y_{c\; 2} \\ y_{c\; 3} \\ y_{c\; 4} \end{bmatrix}.}}$

And assume that y₁ has relative degree 3, and y₂ and y₃ both have relative degree 2; and y_(c1) has relative degree 3, and y_(c2), y_(c3) and y_(c4) both have relative degree 2.

The Primary Control Based on Original Controlled Plant

Use relative degree concept and dynamics inversion approach, the primary control output response is derived below.

Assume the relative degree of {tilde over (y)}_(i) to {dot over (ũ)} is Rd_(i)>1, then the primary controlled output response are:

$\begin{matrix} {{{\overset{\sim}{y}}_{i}\left( {k + 1} \right)} = {{C_{i}A{\overset{\sim}{x}(k)}} + {C_{i}B{\overset{\sim}{\overset{.}{u}}(k)}} + {C_{i}B_{d}{\overset{\sim}{d}(k)}} + {C_{i}F_{k}} + {D_{di}{\overset{\sim}{d}\left( {k + 1} \right)}}}} \\ {= {{C_{i}F_{k}} + {D_{di}{\hat{d}(k)}}}} \\ {{= {{K_{f,i}^{1}F_{k}} + {K_{d,i}^{1}{\hat{d}(k)}}}},} \end{matrix}$ $\begin{matrix} {{{\overset{\sim}{y}}_{i}\left( {k + 2} \right)} = {{C_{i}A^{2}{\overset{\sim}{x}(k)}} + {C_{i}A\; B{\overset{\sim}{\overset{.}{u}}(k)}} + {C_{i}A\; B_{d}{\overset{\sim}{d}(k)}} + {C_{i}B_{d}{\overset{\sim}{d}\left( {k + 1} \right)}} +}} \\ {{{C_{i}\left( {A + I} \right)}F_{k}} + {D_{di}{\overset{\sim}{d}\left( {k + 2} \right)}}} \\ {= {{{C_{i}\left( {A + I} \right)}F_{k}} + {\left( {{C_{i}B_{d}} + {2D_{di}}} \right){\hat{d}(k)}}}} \\ {{= {{K_{f,i}^{2}F_{k}} + {K_{d,i}^{2}{\hat{d}(k)}}}},} \end{matrix}$ … $\begin{matrix} {{\overset{\sim}{y_{i}}\left( {k + {Rd}_{i}} \right)} = {{C_{i}A^{{Rd}_{i}}{\overset{\sim}{x}(k)}} + {C_{i}A^{{Rd}_{i} - 1}B{\overset{\sim}{\overset{.}{u}}(k)}} +}} \\ {\begin{pmatrix} {{C_{i}A^{{Rd}_{i} - 1}B_{d}{\overset{\sim}{d}(k)}} + \ldots +} \\ {{C_{i}B_{d}{\overset{\sim}{d}\left( {k + {Rd}_{i} - 1} \right)}} + \ldots + {D_{di}{\overset{\sim}{d}\left( {k + {Rd}_{i}} \right)}}} \end{pmatrix} +} \\ {{C_{i}\left( {A^{{Rd}_{i} - 1} + \ldots + A + I} \right)}F_{k}} \\ {{= {{E_{i}{\overset{\sim}{\overset{.}{u}}(k)}} + {K_{f,i}F_{k}} + {K_{d,i}{\hat{d}(k)}}}},} \end{matrix}$ Where  E_(i) = C_(i)A^(Rd_(i) − 1)B, K_(f, i) = C_(i)(A^(Rd_(i) − 1) + … + A + I), K_(d, i) = C_(i)A^(Rd_(i) − 2)B_(d) + … + (Rd_(i) − 1) ⋅ C_(i)B_(d) + Rd_(i) ⋅ D_(di).

The current controlled output response in general is described below:

${\overset{\sim}{y}\left( {k + {Rd}} \right)} = {{E{\overset{\sim}{\overset{.}{u}}(k)}} + {K_{f}F_{k}} + {K_{d}{\hat{d}(k)}}}$ Where ${{\overset{\sim}{y}\left( {k + {Rd}} \right)} = \begin{bmatrix} {{\overset{\sim}{y}}_{1}\left( {k + 3} \right)} \\ {{\overset{\sim}{y}}_{2}\left( {k + 2} \right)} \\ {{\overset{\sim}{y}}_{3}\left( {k + 2} \right)} \end{bmatrix}},{E = {\begin{bmatrix} E_{1} \\ E_{2} \\ E_{3} \end{bmatrix} = \begin{bmatrix} {C_{1}A^{2}B} \\ {C_{2}{AB}} \\ {C_{3}{AB}} \end{bmatrix}}},{K_{f} = {\begin{bmatrix} K_{f,1} \\ K_{f,2} \\ K_{f,3} \end{bmatrix} = \begin{bmatrix} {C_{1}\left( {A^{2} + A + I} \right)} \\ {C_{2}\left( {A + I} \right)} \\ {C_{3}\left( {A + I} \right)} \end{bmatrix}}},{K_{d} = {\begin{bmatrix} K_{d,1} \\ K_{d,2} \\ K_{d,3} \end{bmatrix} = {\begin{bmatrix} {{{C_{1}\left( {A + {2I}} \right)}B_{d}} + {3D_{d\; 1}}} \\ {{C_{2}B_{d}} + {2D_{d\; 2}}} \\ {{C_{3}B_{d}} + {2D_{d\; 2}}} \end{bmatrix}.}}}$

Further, the dynamics of controlled output y(k) is desired to track the reference y_(r)(k), i.e., let ŷ _(i)(k+j)=y _(ri)(k+j)−y _(i)(k),i=1,2,3;j=0, . . . ,Rd _(i), the desired control tracking performance is shaped below: (ŷ ₁(k+3)−{tilde over (y)} ₁(k+3))+k _(1,2)(ŷ ₁(k+2)−{tilde over (y)} ₁(k+2))+k _(1,1)(ŷ ₁(k+1)−{tilde over (y)} ₁(k+1))+k _(1,0)(ŷ ₁(k)−{tilde over (y)} ₁(k))=0 (ŷ ₂(k+2)−{tilde over (y)} ₂(k+2))+k _(2,1)(ŷ ₂(k+1)−{tilde over (y)} ₂(k+1))+k _(2,0)(ŷ ₂(k)−{tilde over (y)} ₂(k))=0 (ŷ ₃(k+2)−{tilde over (y)} ₃(k+2))+k _(3,1)(ŷ ₃(k+1)−{tilde over (y)} ₃(k+1))+k _(3,0)(ŷ ₃(k)−{tilde over (y)} ₃(k))=0

Properly choose k_(i,j), i=1, . . . , 3; j=0, . . . , Rd_(i)−1 such that the following polynomial ρ^(Rd) ^(i) + . . . +k _(i,j)ρ^(j) + . . . +k _(i,1) ρ+k _(i,0)=0  (Eq. 130) has its eigenvalues all within the unit circle, then the primary control dynamics is asymptotically stable.

Usually y_(ri) (k) is time-varying, the approximated {tilde over (y)}_(ri) (k+j), j=1, . . . , Rd_(i) can be obtained by using extrapolation (such as linear format, exponential format, etc.). Let {tilde over (y)}_(ri)(k)=y_(ri)(k)−y_(ri)(k−1). Approximate {tilde over (y)}_(ri)(k+1)≈α_(i){tilde over (y)}_(ri)(k), {tilde over (y)}_(r)(k+2)≈α²{tilde over (y)}_(r)(k), . . . .

The desired controlled output tracking response:

$\begin{matrix} {{{\overset{\sim}{y}}_{1}\left( {k + 3} \right)} = {{{\hat{y}}_{1}\left( {k + 3} \right)} + {k_{1,2}\left( {{{\hat{y}}_{1}\left( {k + 2} \right)} - {{\overset{\sim}{y}}_{1}\left( {k + 2} \right)}} \right)} +}} \\ {{k_{1,1}\left( {{{\hat{y}}_{1}\left( {k + 1} \right)} - {{\overset{\sim}{y}}_{1}\left( {k + 1} \right)}} \right)} + {k_{1,0}\left( {{{\hat{y}}_{1}(k)} - {{\overset{\sim}{y}}_{1}(k)}} \right)}} \\ {= {\left\lbrack {{{\hat{y}}_{1}\left( {k + 3} \right)} + {k_{1,2}{{\hat{y}}_{1}\left( {k + 2} \right)}} + {k_{1,1}{{\hat{y}}_{1}\left( {k + 1} \right)}} + {k_{1,0}{{\hat{y}}_{1}(k)}}} \right\rbrack -}} \\ {\left\lbrack {{k_{1,2}{{\overset{\sim}{y}}_{1}\left( {k + 2} \right)}} + {k_{1,1}{{\overset{\sim}{y}}_{1}\left( {k + 1} \right)}}} \right\rbrack} \\ {= {\left\lbrack {K_{e\; 1}{{\hat{y}}_{1}^{*}(k)}} \right\rbrack - \begin{bmatrix} {{k_{1,2}\left( {{K_{f,1}^{2}F_{k}} + {K_{d,1}^{2}{\hat{d}(k)}}} \right)} +} \\ {k_{1,1}\left( {{K_{f,1}^{1}F_{k}} + {K_{d,1}^{1}{\hat{d}(k)}}} \right)} \end{bmatrix}}} \\ {= {{K_{e\; 1}{{\hat{y}}_{1}^{*}(k)}} - {K_{{df},1}F_{k}} - {K_{{dd},1}{\hat{d}(k)}}}} \end{matrix}$ $\begin{matrix} {{{\overset{\sim}{y}}_{2}\left( {k + 2} \right)} = {{{\hat{y}}_{2}\left( {k + 2} \right)} + {k_{2,1}\left( {{{\hat{y}}_{2}\left( {k + 1} \right)} - {{\overset{\sim}{y}}_{2}\left( {k + 1} \right)}} \right)} +}} \\ {k_{2,0}\left( {{{\hat{y}}_{2}(k)} - {{\overset{\sim}{y}}_{2}(k)}} \right)} \\ {= {\left\lbrack {{{\hat{y}}_{2}\left( {k + 2} \right)} + {k_{2,1}{{\hat{y}}_{2}\left( {k + 1} \right)}} + {k_{2,0}{{\hat{y}}_{2}(k)}}} \right\rbrack -}} \\ {\left\lbrack {k_{2,1}{{\overset{\sim}{y}}_{2}\left( {k + 1} \right)}} \right\rbrack} \\ {= {\left\lbrack {K_{e\; 2}{{\hat{y}}_{2}^{*}(k)}} \right\rbrack - \left\lbrack {k_{2,1}\left( {{K_{f,2}^{1}F_{k}} + {K_{d,2}^{1}{\hat{d}(k)}}} \right)} \right\rbrack}} \\ {= {{K_{e\; 2}{{\hat{y}}_{2}^{*}(k)}} - {K_{{df},2}F_{k}} - {K_{{dd},2}{\hat{d}(k)}}}} \end{matrix}$ $\begin{matrix} {{{\overset{\sim}{y}}_{3}\left( {k + 2} \right)} = {{{\hat{y}}_{3}\left( {k + 2} \right)} + {k_{3,1}\left( {{{\hat{y}}_{3}\left( {k + 1} \right)} - {{\overset{\sim}{y}}_{3}\left( {k + 1} \right)}} \right)} +}} \\ {k_{3,0}\left( {{{\hat{y}}_{3}(k)} - {{\overset{\sim}{y}}_{3}(k)}} \right)} \\ {= {\left\lbrack {{{\hat{y}}_{3}\left( {k + 2} \right)} + {k_{3,1}{{\hat{y}}_{3}\left( {k + 1} \right)}} + {k_{3,0}{{\hat{y}}_{3}(k)}}} \right\rbrack -}} \\ {\left\lbrack {k_{3,1}{{\overset{\sim}{y}}_{3}\left( {k + 1} \right)}} \right\rbrack} \\ {= {\left\lbrack {K_{e\; 3}{{\hat{y}}_{3}^{*}(k)}} \right\rbrack - \left\lbrack {k_{3,1}\left( {{K_{f,3}^{1}F_{k}} + {K_{d,3}^{1}{\hat{d}(k)}}} \right)} \right\rbrack}} \\ {= {{K_{e\; 3}{{\hat{y}}_{3}^{*}(k)}} - {K_{{df},3}F_{k}} - {K_{{dd},3}{\hat{d}(k)}}}} \end{matrix}$ Where ${K_{e\; 1} = \begin{bmatrix} 1 & k_{1,2} & k_{1,1} & k_{1,0} \end{bmatrix}},{{{\hat{y}}_{1}^{*}(k)} = {\begin{bmatrix} {{y_{r\; 1}(k)} - {y_{1}(k)}} \\ {{y_{r\; 1}(k)} - {y_{1}(k)}} \\ {{y_{r\; 1}(k)} - {y_{1}(k)}} \\ {{y_{r\; 1}(k)} - {y_{1}(k)}} \end{bmatrix} + \begin{bmatrix} {\alpha_{1}^{3}{{\overset{\sim}{y}}_{r\; 1}(k)}} \\ {\alpha_{1}^{2}{{\overset{\sim}{y}}_{r\; 1}(k)}} \\ {\alpha_{1}{{\overset{\sim}{y}}_{r\; 1}(k)}} \\ 0 \end{bmatrix}}},{K_{{df},1} = \left( {{k_{1,2}K_{f,1}^{2}} + {k_{1,1}K_{f,1}^{1}}} \right)},{{K_{{dd},1} = \left( {{k_{1,2}K_{d,1}^{2}} + {k_{1,1}K_{d,1}^{1}}} \right)};}$ ${K_{e\; 2} = \begin{bmatrix} 1 & k_{2,1} & k_{2,0} \end{bmatrix}},{{{\hat{y}}_{2}^{*}(k)} = {\begin{bmatrix} {{y_{r\; 2}(k)} - {y_{2}(k)}} \\ {{y_{r\; 2}(k)} - {y_{2}(k)}} \\ {{y_{r\; 2}(k)} - {y_{2}(k)}} \end{bmatrix} + \begin{bmatrix} {\alpha_{2}^{2}{{\overset{\sim}{y}}_{r\; 2}(k)}} \\ {\alpha_{2}{{\overset{\sim}{y}}_{r\; 2}(k)}} \\ 0 \end{bmatrix}}},{K_{{df},2} = {k_{2,1}K_{f,2}^{1}}},{{K_{{dd},2} = {k_{2,1}K_{d,2}^{1}}};}$ ${K_{e\; 3} = \begin{bmatrix} 1 & k_{3,1} & k_{3,0} \end{bmatrix}},{{{\hat{y}}_{3}^{*}(k)} = {\begin{bmatrix} {{y_{r\; 3}(k)} - {y_{3}(k)}} \\ {{y_{r\; 3}(k)} - {y_{3}(k)}} \\ {{y_{r\; 3}(k)} - {y_{3}(k)}} \end{bmatrix} + \begin{bmatrix} {\alpha_{3}^{2}{{\overset{\sim}{y}}_{r\; 3}(k)}} \\ {\alpha_{3}{{\overset{\sim}{y}}_{r\; 3}(k)}} \\ 0 \end{bmatrix}}},{K_{{df},3} = {k_{3,1}K_{f,3}^{1}}},{{K_{{dd},3} = {k_{3,1}K_{d,3}^{1}}};}$

If y_(ri)(k) is constant,

${{{\hat{y}}_{1}^{*}(k)} = \begin{bmatrix} {{y_{r\; 1}(k)} - {y_{1}(k)}} \\ {{y_{r\; 1}(k)} - {y_{1}(k)}} \\ {{y_{r\; 1}(k)} - {y_{1}(k)}} \\ {{y_{r\; 1}(k)} - {y_{1}(k)}} \end{bmatrix}},{{{\hat{y}}_{2}^{*}(k)} = \begin{bmatrix} {{y_{r\; 2}(k)} - {y_{2}(k)}} \\ {{y_{r\; 2}(k)} - {y_{2}(k)}} \\ {{y_{r\; 2}(k)} - {y_{2}(k)}} \end{bmatrix}},{{{\hat{y}}_{3}^{*}(k)} = {\begin{bmatrix} {{y_{r\; 3}(k)} - {y_{3}(k)}} \\ {{y_{r\; 3}(k)} - {y_{3}(k)}} \\ {{y_{r\; 3}(k)} - {y_{3}(k)}} \end{bmatrix}.}}$

Note that the free response y_(i) ^(f) is not dependent on ũ(k), only depend on F_(k) and {circumflex over (d)}(k). Further the desired controlled output response in a compact way,

$\left. {{\overset{\sim}{y}\left( {k + {Rd}} \right)} = {{K_{RE}{{\hat{y}}^{*}(k)}} - {K_{df}F_{k}} - {K_{dd}{\hat{d}(k)}}}} \right)$ Where ${K_{RE} = \begin{bmatrix} K_{e\; 1} & 0 & 0 \\ 0 & K_{e\; 2} & 0 \\ 0 & 0 & K_{e\; 3} \end{bmatrix}},{{{\hat{y}}^{*}(k)} = \begin{bmatrix} {{\hat{y}}_{1}^{*}(k)} \\ {{\hat{y}}_{2}^{*}(k)} \\ {{\hat{y}}_{3}^{*}(k)} \end{bmatrix}},{K_{df} = \begin{bmatrix} K_{{df},1} \\ K_{{df},2} \\ K_{{df},3} \end{bmatrix}},{K_{dd} = \begin{bmatrix} K_{{dd},1} \\ K_{{dd},2} \\ K_{{dd},3} \end{bmatrix}}$

Define the pseudo input as: {dot over (v)} _(i)(k)=K _(RE)(i,i)ŷ* _(i)(k)

Compare the above desired controlled output response with the current controlled output response, the primary decoupling control based on dynamics inversion is obtained below: E{dot over (ũ)}={dot over (v)}(k)−(K _(df) +K _(f))F _(k)−(K _(dd) +K _(d)){circumflex over (d)}(k) ũ(k)=K _(V) {dot over (v)}(k)+K _(F) F _(k) +K _(D) {circumflex over (d)}(k)

The resulting control decouples the SISO loop {dot over (v)}_(i)→y_(i) from SISO loop {dot over (v)}_(j)→y_(j), j≠i, therefore each output is tracking its own reference, i.e., being controlled by its own reference only.

The New Controlled Plant Based on Primary Control for Constraint Control

Substitute the primary decoupling control law into the original controlled plant, yields the decoupled new controlled plant: {tilde over (x)}(k+1)=A{tilde over (x)}(k)+B _(d) {tilde over (d)}(k)+BK _(V) {dot over (v)}(k)+(BK _(F) +I)F _(k) +BK _(D) {circumflex over (d)}(k) {tilde over (y)}(k)=C{tilde over (x)}(k)=D _(d) {tilde over (d)}(k) {tilde over (y)} _(c)(k)=C _(c) {tilde over (x)}(k)+D _(cd) {tilde over (d)}(k) ũ(k)=K _(V) {dot over (v)}(k)+K _(F) F _(k) +K _(D) {circumflex over (d)}(k)

When the same control handle ũ(k) is needed to enforce certain selected active constraint(s) while remaining the primary output tracking impacted least, the certain one(s) of primary output tracking will be traded off by switching to the selected most limiting control mode instead of allowing its reference to be altered via adding Δy_(r)(k) to y_(r)(k). For the new controlled plant, the control input is {dot over (v)}.

The Constraint Decoupling Control Based on the New Controlled Plant

The new controlled plant is: {tilde over (x)}(k+1)=A{tilde over (x)}(k)+F _(k) ^(c) +B _(v) {dot over (v)}(k)+B _(d) ^(c) {circumflex over (d)}(k)+B _(d) {tilde over (d)}(k) {tilde over (y)} _(c)(k)=C _(c) {tilde over (x)}(k)+D _(cd) {tilde over (d)}(k)

Current constraint output responses are, respectively,

$\begin{matrix} {{{\overset{\sim}{y}}_{ci}\left( {k + 1} \right)} = {{C_{ci}A{\overset{\sim}{x}(k)}} + {C_{ci}B_{v}{\overset{.}{v}(k)}} + {C_{ci}F_{k}^{c}} + {C_{i}\left( {{B_{d}^{c}{\hat{d}(k)}} + {B_{d}{\overset{\sim}{d}(k)}}} \right)} +}} \\ {D_{cdi}{\overset{\sim}{d}\left( {k + 1} \right)}} \\ {= {{C_{ci}F_{k}^{c}} + {\left( {{C_{i}B_{d}^{c}} + D_{cdi}} \right){\hat{d}(k)}}}} \\ {= {{K_{{cfp},i}^{1}F_{k}^{c}} + {K_{{cd},i}^{1}{\hat{d}(k)}}}} \\ {{= {{K_{{cf},i}^{1}F_{k}} + {K_{{cd},i}^{1}{\hat{d}(k)}}}},} \end{matrix}$ $\mspace{20mu}{{{{Since}\mspace{14mu} F_{k}^{c}} = {\left( {I + {B_{u}K_{F}}} \right)F_{k}}},\mspace{20mu}{{K_{{cfp},i}^{1}\left( {I + {B_{u}K_{F}}} \right)} = {K_{{cf},i}^{1}.\begin{matrix} {{{\overset{\sim}{y}}_{ci}\left( {k + 2} \right)} = {{C_{ci}A^{2}{\overset{\sim}{x}(k)}} + {C_{ci}A\; B_{v}{\overset{.}{v}(k)}} + {{C_{ci}\left( {A + I} \right)}F_{k}^{c}} +}} \\ {{C_{ci}{A\left( {{B_{d}^{c}{\hat{d}(k)}} + {B_{d}{\overset{\sim}{d}(k)}}} \right)}} + \ldots +} \\ {{C_{ci}\left( {{B_{d}^{c}{\hat{d}\left( {k + 1} \right)}} + {B_{d}{\overset{\sim}{d}\left( {k + 1} \right)}}} \right)} +} \\ {D_{cdi}{\overset{\sim}{d}\left( {k + 2} \right)}} \\ {= {{{C_{ci}\left( {A + I} \right)}F_{k}^{c}} + {\left( {{C_{ci}A\; B_{d}^{c}} + {C_{ci}B_{d}^{c}} + {C_{ci}B_{d}} + {2D_{di}}} \right){\hat{d}(k)}}}} \\ {= {{K_{{cfp},i}^{2}F_{k}^{c}} + {K_{{cd},i}^{2}{\hat{d}(k)}}}} \\ {= {{K_{{cf},i}^{2}F_{k}^{c}} + {K_{{cd},i}^{2}{\hat{d}(k)}}}} \end{matrix}}}}$   … $\begin{matrix} {{{\overset{\sim}{y}}_{ci}\left( {k + 3} \right)} = {{C_{ci}A^{3}{\overset{\sim}{x}(k)}} + {C_{ci}A^{2}\; B_{v}{\overset{.}{v}(k)}} + {{C_{ci}\left( {A^{2} + A + I} \right)}\; F_{k}^{c}} + \ldots +}} \\ {\begin{bmatrix} \begin{matrix} {{C_{ci}{A^{2}\left( {{B_{d}^{c}{\hat{d}(k)}} + {B_{d}{\overset{\sim}{d}(k)}}} \right)}} +} \\ {{C_{i}{A\left( {{B_{d}^{c}{\hat{d}\left( {k + 1} \right)}} + {B_{d}{\overset{\sim}{d}\left( {k + 1} \right)}}} \right)}} +} \end{matrix} \\ {{C_{i\;}\left( {{B_{d}^{c}{\hat{d}\left( {k + 2}\; \right)}} + {B_{d}{\overset{\sim}{d}\left( {k + 2} \right)}}} \right)} + {D_{cdi}{\overset{\sim}{d}\left( {k + 3} \right)}}} \end{bmatrix}} \\ {= {{C_{ci}A^{2}B_{v}{\overset{.}{v}(k)}} + {{C_{ci}\left( {A^{2} + A + I} \right)}F_{k}^{c}} +}} \\ {= {\left( {{C_{ci}A^{2}B_{d}^{c}} + {C_{ci}{A\left( {B_{d}^{c} + B_{d}} \right)}} + {2{C_{ci}\left( {B_{d}^{c} + B_{d}} \right)}} + {3D_{cdi}}} \right){\hat{d}(k)}}} \\ {= {{E_{ci}{\overset{.}{v}(k)}} + {K_{{cfp},i}F_{k}^{c}} + {K_{{cd},i}{\hat{d}(k)}}}} \\ {{= {{E_{ci}{\overset{.}{v}(k)}} + {K_{{cf},i}F_{k}} + {K_{{cd},i}{\hat{d}(k)}}}},} \end{matrix}$ $\mspace{20mu}{{{{Where}\mspace{14mu} E_{ci}} = {C_{ci}A^{{Rd}_{i} - 1}B_{v}}},{K_{{cfp},i} = {C_{ci}\left( {A^{{Rd}_{i} - 1} + \ldots + A + I} \right)}},{K_{{{cd},i}\;} = {{C_{ci}A^{{Rd}_{i} - 1}B_{d}^{c}} + {C_{ci}{A^{{Rd}_{i} - 2}\left( {B_{d}^{c} + B_{d}} \right)}} + \ldots + {\left( {{Rd}_{i} - 1} \right) \cdot {C_{ci}\left( {B_{d}^{c} + B_{d}} \right)}} + {{Rd}_{i} \cdot {D_{cdi}.\mspace{20mu}\begin{matrix} {\begin{bmatrix} {{\overset{\sim}{y}}_{c\; 1}\left( {k + 3} \right)} \\ {{\overset{\sim}{y}}_{c\; 2}\left( {k + 2} \right)} \\ {{\overset{\sim}{y}}_{c\; 3}\left( {k + 2} \right)} \\ {{\overset{\sim}{y}}_{c\; 4}\left( {k + 2} \right)} \end{bmatrix} = {{\begin{bmatrix} {C_{c\; 1}A^{2}B_{v}} \\ {C_{c\; 2}A\; B_{v}} \\ {C_{c\; 3}A\; B_{v}} \\ {C_{c\; 4}A\; B_{v}} \end{bmatrix}{\overset{.}{v}(k)}} + {\begin{bmatrix} {C_{c\; 1}\left( {A^{2} + A + I} \right)} \\ {C_{c\; 2}\left( {A + I} \right)} \\ {C_{c\; 3}\left( {A + I} \right)} \\ {C_{c\; 4}\left( {A + I} \right)} \end{bmatrix}F_{k}^{c}} +}} \\ {\begin{bmatrix} {{C_{c\; 1}\left( {{A^{2}B_{d}^{c}} + {\left( {A + {2\; I}} \right)\left( {B_{d}^{c} + B_{d}} \right)}} \right)} + {3D_{{cd}\; 1}}} \\ {{C_{c\; 2}\left( {{A\; B_{d}^{c}} + \left( {B_{d}^{c} + B_{d}} \right)} \right)} + {2D_{{cd}\; 2}}} \\ {{C_{c\; 3}\left( {{A\; B_{d}^{c}} + \left( {B_{d}^{c} + B_{d}} \right)} \right)} + {2D_{{cd}\; 3}}} \\ {{C_{c\; 4}\left( {{A\; B_{d}^{c}} + \left( {B_{d}^{c} + B_{d}} \right)} \right)} + {2D_{{cd}\; 4}}} \end{bmatrix}{\hat{d}(k)}} \\ {= {{E_{c}{\overset{.}{v}(k)}} + {{K_{cfp}\left( {I + {B_{u}K_{F}}} \right)}F_{k}} + {K_{cd}{\hat{d}(k)}}}} \\ {= {{E_{c}{\overset{.}{v}(k)}} + {K_{cf}F_{k}} + {K_{cd}{\hat{d}(k)}}}} \end{matrix}}}}}}$

In general, the desired constraint response is to assure the tracking error and its derivatives (up to the constraint's relative degree) go to zero, let ŷ _(ci)(k+j)=y _(rci)(k+j)−y _(ci)(k),i=1, . . . ,4;j=0,1, . . . ,Rd _(ci), ŷ _(c1)(k+3)−{tilde over (y)} _(c1)(k+3))+k _(c1,2)(ŷ _(c1)(k+2)−{tilde over (y)} _(c1)(k+2))+k _(c1,1)(ŷ _(c1)(k+1)−{tilde over (y)} _(c1)(k+1))+k _(1,0)(ŷ _(c1)(k)−{tilde over (y)} _(c1)(k)) ŷ _(c2)(k+2)−{tilde over (y)} _(c2)(k+2))+k _(c2,1)(ŷ _(c2)(k+1)−{tilde over (y)} _(c2)(k+1))+k _(c2,0)(ŷ _(c2)(k)−{tilde over (y)} _(c2)(k))=0 ŷ _(c3)(k+2)−{tilde over (y)} _(c3)(k+2))+k _(c3,1)(ŷ _(c3)(k+1)−{tilde over (y)} _(c3)(k+1))+k _(c3,0)(ŷ _(c3)(k)−{tilde over (y)} _(c3)(k))=0 ŷ _(c4)(k+2)−{tilde over (y)} _(c4)(k+2))+k _(c4,1)(ŷ _(c4)(k+1)−{tilde over (y)} _(c4)(k+1))+k _(c4,0)(ŷ _(c4)(k)−{tilde over (y)} _(c4)(k))=0

Properly choose the above coefficients k_(ci,j), i=1, . . . , 4; j=0, . . . , Rd_(ci)−1 such that the eigenvalues of the following polynomial ρ^(Rd) ^(ci) + . . . +k _(ci,j)ρ^(j) + . . . +k _(ci,1) ρ+k _(ci,0)=0 are all within the unit circle, then the constraint output tracking dynamics is asymptotically stable.

The desired constraint output tracking response:

$\begin{matrix} {{{\overset{\sim}{y}}_{c\; 1}\left( {k + 3} \right)} = {{{\hat{y}}_{c\; 1}\left( {k + 3} \right)} + {k_{{c\; 1},2}\left( {{{\hat{y}}_{c\; 1}\left( {k + 2} \right)} - {{\overset{\sim}{y}}_{c\; 1}\left( {k + 2} \right)}} \right)} +}} \\ {{k_{{c\; 1},1}\left( {{{\hat{y}}_{c\; 1}\left( {k + 1} \right)} - {{\overset{\sim}{y}}_{c\; 1}\left( {k + 1} \right)}} \right)} + {k_{{c\; 1},0}\left( {{{\hat{y}}_{c\; 1}(k)} - {{\overset{\sim}{y}}_{c\; 1}(k)}} \right)}} \\ {= {\begin{bmatrix} {{{\hat{y}}_{c\; 1}\left( {k + 3} \right)} + {k_{{c\; 1},2}{\hat{y}}_{c\; 1}\left( {k + 2} \right)} +} \\ {{k_{{c\; 1},1}{{\hat{y}}_{c\; 1}\left( {k + 1} \right)}} + {k_{{c\; 1},0}{{\hat{y}}_{c\; 1}(k)}}} \end{bmatrix} -}} \\ {\left\lbrack {{k_{{c\; 1},2}{{\overset{\sim}{y}}_{c\; 1}\left( {k + 2} \right)}} + {k_{{c\; 1},1}{{\overset{\sim}{y}}_{c\; 1}\left( {k + 1} \right)}}} \right\rbrack} \\ {= {\left\lbrack {K_{{ce}\; 1}{{\hat{y}}_{c\; 1}^{*}(k)}} \right\rbrack - \begin{bmatrix} {{k_{{c\; 1},2}\left( {{K_{{cf},1}^{2}F_{k}} + {K_{{cd},1}^{2}{\hat{d}(k)}}} \right)} +} \\ {k_{{c\; 1},1}\left( {{K_{{cf},1}^{1}F_{k}} + {K_{{cd},1}^{1}{\hat{d}(k)}}} \right)} \end{bmatrix}}} \\ {= {{K_{{ce}\; 1}{{\hat{y}}_{1}^{*}(k)}} - {K_{{cdf},1}F_{k}} - {K_{{cdd},1}{\hat{d}(k)}}}} \end{matrix}$ $\begin{matrix} {{{\overset{\sim}{y}}_{c\; 2}\left( {k + 2} \right)} = {{{\hat{y}}_{c\; 2}\left( {k + 2} \right)} + {k_{{c\; 2},1}\left( {{{\hat{y}}_{c\; 2}\left( {k + 1} \right)} - {{\overset{\sim}{y}}_{c\; 2}\left( {k + 1} \right)}} \right)} +}} \\ {k_{{c\; 2},0}\left( {{{\hat{y}}_{c\; 2}(k)} - {{\overset{\sim}{y}}_{c\; 2}(k)}} \right)} \\ {= {\left\lbrack {{{\hat{y}}_{c\; 2}\left( {k + 2} \right)} + {k_{{c\; 2},1}{{\hat{y}}_{c\; 2}\left( {k + 1} \right)}} + {k_{{c\; 2},0}{{\hat{y}}_{c\; 2}(k)}}} \right\rbrack -}} \\ {\left\lbrack {k_{{c\; 2},1}{{\overset{\sim}{y}}_{c\; 2}\left( {k + 1} \right)}} \right\rbrack} \\ {= {\left\lbrack {K_{c\; e\; 2}{{\hat{y}}_{c\; 2}^{*}(k)}} \right\rbrack - \left\lbrack {k_{{c\; 2},1}\left( {{K_{{c\; f},2}^{1}F_{k}} + {K_{{c\; d},2}^{1}{\hat{d}(k)}}} \right)} \right\rbrack}} \\ {= {{K_{c\; e\; 2}{{\hat{y}}_{c\; 2}^{*}(k)}} - {K_{{cdf},2}F_{k}} - {K_{{c\;{dd}},2}{\hat{d}(k)}}}} \end{matrix}$ $\begin{matrix} {{{\overset{\sim}{y}}_{c\; 3}\left( {k + 2} \right)} = {{{\hat{y}}_{c\; 3}\left( {k + 2} \right)} + {k_{{c\; 3},1}\left( {{{\hat{y}}_{c\; 3}\left( {k + 1} \right)} - {{\overset{\sim}{y}}_{c\; 3}\left( {k + 1} \right)}} \right)} +}} \\ {k_{{c\; 3},0}\left( {{{\hat{y}}_{c\; 3}(k)} - {{\overset{\sim}{y}}_{c\; 3}(k)}} \right)} \\ {= {\left\lbrack {{{\hat{y}}_{c\; 3}\left( {k + 2} \right)} + {k_{{c\; 3},1}{{\hat{y}}_{c\; 3}\left( {k + 1} \right)}} + {k_{{c\; 3},0}{{\hat{y}}_{c\; 3}(k)}}} \right\rbrack -}} \\ {\left\lbrack {k_{{c\; 3},1}{{\overset{\sim}{y}}_{c\; 3}\left( {k + 1} \right)}} \right\rbrack} \\ {= {\left\lbrack {K_{c\; e\; 3}{{\hat{y}}_{c\; 3}^{*}(k)}} \right\rbrack - \left\lbrack {k_{{c\; 3},1}\left( {{K_{{c\; f},3}^{1}F_{k}} + {K_{{c\; d},3}^{1}{\hat{d}(k)}}} \right)} \right\rbrack}} \\ {= {{K_{c\; e\; 3}{{\hat{y}}_{c\; 3}^{*}(k)}} - {K_{{c\;{df}},3}F_{k}} - {K_{{c\;{dd}},3}{\hat{d}(k)}}}} \end{matrix}$ $\begin{matrix} {{{\overset{\sim}{y}}_{c\; 4}\left( {k + 2} \right)} = {{{\hat{y}}_{c\; 4}\left( {k + 2} \right)} + {k_{{c\; 4},1}\left( {{{\hat{y}}_{c\; 4}\left( {k + 1} \right)} - {{\overset{\sim}{y}}_{c\; 4}\left( {k + 1} \right)}} \right)} +}} \\ {k_{{c\; 4},0}\left( {{{\hat{y}}_{c\; 4}(k)} - {{\overset{\sim}{y}}_{c\; 4}(k)}} \right)} \\ {= {\left\lbrack {{{\hat{y}}_{c\; 4}\left( {k + 2} \right)} + {k_{{c\; 4},1}{{\hat{y}}_{c\; 4}\left( {k + 1} \right)}} + {k_{{c\; 4},0}{{\hat{y}}_{c\; 4}(k)}}} \right\rbrack -}} \\ {\left\lbrack {k_{{c\; 4},1}{{\overset{\sim}{y}}_{c\; 4}\left( {k + 1} \right)}} \right\rbrack} \\ {= {\left\lbrack {K_{c\; e\; 4}{{\hat{y}}_{c\; 4}^{*}(k)}} \right\rbrack - \left\lbrack {k_{{c\; 4},1}\left( {{K_{{c\; f},4}^{1}F_{k}} + {K_{{c\; d},4}^{1}{\hat{d}(k)}}} \right)} \right\rbrack}} \\ {= {{K_{c\; e\; 4}{{\hat{y}}_{c\; 4}^{*}(k)}} - {K_{{c\;{df}},4}F_{k}} - {K_{{c\;{dd}},4}{\hat{d}(k)}}}} \end{matrix}$

Where consider constraint references as constant,

${K_{{ce}\; 1} = \left\lfloor \begin{matrix} 1 & k_{{c\; 1},2} & k_{{c\; 1},1} & k_{{c\; 1},0} \end{matrix} \right\rfloor},{{{\hat{y}}_{c\; 1}^{*}(k)} = \begin{bmatrix} {{y_{{rc}\; 1}(k)} - {y_{c\; 1}(k)}} \\ {{y_{{rc}\; 1}(k)} - {y_{c\; 1}(k)}} \\ {{y_{{rc}\; 1}(k)} - {y_{c\; 1}(k)}} \\ {{y_{{rc}\; 1}(k)} - {y_{c\; 1}(k)}} \end{bmatrix}},{K_{{cdf},1} = \left( {{k_{{c\; 1},2}K_{{cf},1}^{2}} + {k_{{c\; 1},1}K_{{cf},1}^{1}}} \right)},{{K_{{cdd},1} = \left( {{k_{{c\; 1},2}K_{{cd},1}^{2}} + {k_{{c\; 1},1}K_{{cd},1}^{1}}} \right)};}$ ${K_{{ce}\; 2} = \left\lfloor \begin{matrix} 1 & k_{{c\; 2},1} & k_{{c\; 2},0} \end{matrix} \right\rfloor},{{{\hat{y}}_{c\; 2}^{*}(k)} = \begin{bmatrix} {{y_{{rc}\; 2}(k)} - {y_{c\; 2}(k)}} \\ {{y_{{rc}\; 2}(k)} - {y_{c\; 2}(k)}} \\ {{y_{{rc}\; 2}(k)} - {y_{c\; 2}(k)}} \end{bmatrix}},{K_{{cdf},2} = {k_{{c\; 2},1}K_{{cf},2}^{1}}},{{K_{{cdd},2} = {k_{{c\; 2},1}K_{{cd},2}^{1}}};}$ ${K_{{ce}\; 3} = \left\lfloor \begin{matrix} 1 & k_{{c\; 3},1} & k_{{c\; 3},0} \end{matrix} \right\rfloor},{{{\hat{y}}_{c\; 3}^{*}(k)} = \begin{bmatrix} {{y_{{rc}\; 3}(k)} - {y_{c\; 3}(k)}} \\ {{y_{{rc}\; 3}(k)} - {y_{c\; 3}(k)}} \\ {{y_{{rc}\; 3}(k)} - {y_{c\; 3}(k)}} \end{bmatrix}},{K_{{cdf},3} = {k_{{c\; 3},1}K_{{cf},3}^{1}}},{{K_{{cdd},3} = {k_{{c\; 3},1}K_{{cd},3}^{1}}};}$ ${K_{{ce}\; 4} = \left\lfloor \begin{matrix} 1 & k_{{c\; 4},1} & k_{{c\; 4},0} \end{matrix} \right\rfloor},{{{\hat{y}}_{c\; 4}^{*}(k)} = \begin{bmatrix} {{y_{{rc}\; 4}(k)} - {y_{c\; 4}(k)}} \\ {{y_{{rc}\; 4}(k)} - {y_{c\; 4}(k)}} \\ {{y_{{rc}\; 4}(k)} - {y_{c\; 4}(k)}} \end{bmatrix}},{K_{{cdf},4} = {k_{{c\; 4},1}K_{{cf},4}^{1}}},{K_{{cdd},4} = {k_{{c\; 4},1}{K_{{cd},4}^{1}.}}}$

Further the desired constraint output response in a compact way,

${{\overset{\sim}{y}}_{c}\left( {k + {Rd}_{c}} \right)} = {{K_{cRE}{{\hat{y}}_{c}^{*}(k)}} - {K_{cdf}F_{k}} - {K_{cdd}{\hat{d}(k)}}}$ Where ${K_{cRE} = \begin{bmatrix} K_{{ce}\; 1} & 0 & 0 & 0 \\ 0 & K_{{ce}\; 2} & 0 & 0 \\ 0 & 0 & K_{{ce}\; 3} & 0 \\ 0 & 0 & 0 & K_{{ce}\; 4} \end{bmatrix}},{{{\hat{y}}_{c}^{*}(k)} = \begin{bmatrix} {{\hat{y}}_{c\; 1}^{*}(k)} \\ {{\hat{y}}_{c\; 2}^{*}(k)} \\ {{\hat{y}}_{c\; 3}^{*}(k)} \\ {{\hat{y}}_{c\; 4}^{*}(k)} \end{bmatrix}},{K_{cdf} = \begin{bmatrix} K_{{cdf},1} \\ K_{{cdf},2} \\ K_{{cdf},3} \\ K_{{cdf},4} \end{bmatrix}},{K_{cdd} = \begin{bmatrix} K_{{cdd},1} \\ K_{{cdd},2} \\ K_{{cdd},3} \\ K_{{cdd},4} \end{bmatrix}}$

Compare the above desired constraint output response with the current constraint output response, yields,

$\begin{matrix} {{E_{\; c}{\overset{.}{v}(k)}} = {{K_{cRE}{{\hat{y}}_{c\;}^{*}(k)}} - \left( {{K_{cdf}F_{k}} + {K_{cdd}{\hat{d}(k)}}} \right) - \left( {{K_{cf}F_{k}} + {K_{cd}{\hat{d}(k)}}} \right)}} \\ {= {{K_{cRE}{{\hat{y}}_{c\;}^{*}(k)}} - {\left( {K_{cdf} + k_{cf}} \right)F_{k}} - {\left( {K_{cdd} + K_{cd}} \right){\hat{d}(k)}}}} \\ {= {{K_{cRE}{{\hat{y}}_{c\;}^{*}(k)}} + {K_{cF}F_{k}} + {K_{cD}{\hat{d}(k)}}}} \end{matrix}$ $\begin{matrix} {{\begin{bmatrix} e_{c\; 11} & e_{c\; 12} & e_{c\; 13} \\ e_{c\; 21} & e_{c\; 22} & e_{c\; 23} \\ e_{c\; 31} & e_{c\; 32} & e_{c\; 33} \\ e_{c\; 41} & e_{c\; 42} & e_{c\; 43} \end{bmatrix}\begin{bmatrix} {{\overset{.}{v}}_{1}(k)} \\ {{\overset{.}{v}}_{2}(k)} \\ {{\overset{.}{v}}_{3}(k)} \end{bmatrix}} = {\begin{bmatrix} {K_{{ce}\; 1}{\hat{y}}_{c\; 1}^{*}} \\ {K_{{ce}\; 2}{\hat{y}}_{c\; 2}^{*}} \\ {K_{{ce}\; 3}{\hat{y}}_{c\; 3}^{*}} \\ {K_{{ce}\; 4}{\hat{y}}_{c\; 4}^{*}} \end{bmatrix} + \begin{bmatrix} {{K_{cF}\left( {1,:} \right)}F_{k}} \\ {{K_{cF}\left( {2,:} \right)}F_{k}} \\ {{K_{cF}\left( {3,:} \right)}F_{k}} \\ {{K_{cF}\left( {4,:} \right)}F_{k}} \end{bmatrix} +}} \\ {\begin{bmatrix} {{K_{cD}\left( {1,:} \right)}{\hat{d}}_{k}} \\ {{K_{cD}\left( {2,:} \right)}{\hat{d}}_{k}} \\ {{K_{cD}\left( {3,:} \right)}{\hat{d}}_{k}} \\ {{K_{cD}\left( {4,:} \right)}{\hat{d}}_{k}} \end{bmatrix}} \\ {= \begin{bmatrix} {M_{p,k}(1)} \\ {M_{p,k}(2)} \\ {M_{p,k}(3)} \\ {M_{p,k}(4)} \end{bmatrix}} \end{matrix}$

The decoupling matrix E_(c) between y_(c) and the pseudo input {dot over (v)} is derived based on the constraint controlled plant shaped by the primary control, using generic form,

${E_{c}{\overset{.}{v}(k)}} = {{{M_{p}\begin{bmatrix} e_{c\; 11} & e_{c\; 12} & e_{c\; 13} \\ e_{c\; 21} & e_{c\; 22} & e_{c\; 23} \\ e_{c\; 31} & e_{c\; 32} & e_{c\; 33} \\ e_{c\; 41} & e_{c\; 42} & e_{c\; 43} \end{bmatrix}}\begin{bmatrix} {\overset{.}{v}}_{1} \\ {\overset{.}{v}}_{2} \\ {\overset{.}{v}}_{3} \end{bmatrix}} = \begin{bmatrix} M_{p\; 1} \\ M_{p\; 2} \\ M_{p\; 3} \\ M_{p\; 4} \end{bmatrix}}$

Physics Based Constraint Subset Classification

Based on plant (for example, engine) dynamics knowledge learned from cycle partial studies and tests, assume that there are two subsets for the concerned constraints based on effective control modes, corresponding to the two primary control outputs to be traded off, respectively: y ₁-subset:{y _(c1) ,y _(c2)} y ₂-subset:{y _(c3) ,y _(c4)}

Based on the above defined problem, the constraint control decoupling constraints from the non-traded off controlled output y₃ is:

$\begin{matrix} {{\begin{bmatrix} e_{c\; 11} & e_{c\; 12} \\ e_{c\; 21} & e_{c\; 22} \\ e_{c\; 31} & e_{c\; 32} \\ e_{c\; 41} & e_{c\; 42} \end{bmatrix}\begin{bmatrix} {\overset{.}{v}}_{1} \\ {\overset{.}{v}}_{2} \end{bmatrix}} = {M_{p} - {{E_{c}\left( {:{,3}} \right)} \cdot {\overset{.}{v}}_{3}}}} \\ {= {\begin{bmatrix} M_{p\; 1} \\ M_{p\; 2} \\ M_{p\; 3} \\ M_{p\; 4} \end{bmatrix} - {\begin{bmatrix} e_{c\; 13} \\ e_{c\; 23} \\ e_{c\; 33} \\ e_{c\; 43} \end{bmatrix}{\overset{.}{v}}_{3}}}} \\ {= \begin{bmatrix} {M_{p}^{d_{3}}(1)} \\ {M_{p}^{d_{3}}(2)} \\ {M_{p}^{d_{3}}(3)} \\ {M_{p}^{d_{3}}(4)} \end{bmatrix}} \\ {= M_{p}^{d_{3}}} \end{matrix}$

Constraint Controller Set Determined by Constraint Subset

The physics-based classification of the above constraints determines not only the constraint controller subsets but also the primary control traded-off target for each subset. The details are: (a) The constraints classification should be physics-based, that is, for a given primary control output, the projection of each constraint in its associated constraint subset along the primary control output dimension (or direction) should be the dominant part of the constraint. In layman words, with respect to a given primary control reference, the (b) The total number of constraint subsets is less than or equal to the primary control handles; (c) The constraints in each subset are only to be mapped to one specified primary control trade-off target.

Decoupled SISO Constraint Controllers

Without loss of generality and clear formulation, assume that the concerned constraints are active either in single subset only or in two subsets at same time, and they are classified as: y ₁-subset:{y _(c1) ,y _(c2) },y ₂-subset:{y _(c3) ,y _(c4)}.

All possible cases may be the following: {y _(c1) },{y _(c2)},{y_(c3)},{y_(c4)},{y_(c1) ,y _(c3) },{y _(c1) ,y _(c4) },{y _(c2) ,y _(c3) },{y _(c2) ,y _(c4)}

It follows that at same time, the following constraint controllers need to be run in parallel.

Constraint controllers for two subset cases are derived below:

${\begin{bmatrix} e_{c\; 11} & e_{c\; 12} \\ e_{c\; 31} & e_{c\; 32} \end{bmatrix}\begin{bmatrix} {\overset{.}{v}}_{1} \\ {\overset{.}{v}}_{2} \end{bmatrix}} = {{{\begin{bmatrix} {M_{p}^{d_{3}}(1)} \\ {M_{p}^{d_{3}}(3)} \end{bmatrix}\begin{bmatrix} e_{c\; 11} & e_{c\; 12} \\ e_{c\; 41} & e_{c\; 42} \end{bmatrix}}\begin{bmatrix} {\overset{.}{v}}_{1} \\ {\overset{.}{v}}_{2} \end{bmatrix}} = {{{\begin{bmatrix} {M_{p}^{d_{3}}(1)} \\ {M_{p}^{d_{3}}(4)} \end{bmatrix}\begin{bmatrix} e_{c\; 21} & e_{c\; 22} \\ e_{c\; 31} & e_{c\; 32} \end{bmatrix}}\begin{bmatrix} {\overset{.}{v}}_{1} \\ {\overset{.}{v}}_{2} \end{bmatrix}} = {{{\begin{bmatrix} {M_{p}^{d_{3}}(2)} \\ {M_{p}^{d_{3}}(3)} \end{bmatrix}\begin{bmatrix} e_{c\; 21} & e_{c\; 22} \\ e_{c\; 41} & e_{c\; 42} \end{bmatrix}}\begin{bmatrix} {\overset{.}{v}}_{1} \\ {\overset{.}{v}}_{2} \end{bmatrix}} = \begin{bmatrix} {M_{p}^{d_{3}}(2)} \\ {M_{p}^{d_{3}}(4)} \end{bmatrix}}}}$

Define

${\left( E_{c}^{1,3} \right)^{- 1} = {\begin{bmatrix} e_{c\; 11} & e_{c\; 12} \\ e_{c\; 31} & e_{c\; 32} \end{bmatrix}^{- 1} = {\begin{bmatrix} {i\; e_{c\; 11}^{1,3}} & {i\; e_{c\; 12}^{1,3}} \\ {i\; e_{c\; 21}^{1,3}} & {i\; e_{c\; 22}^{1,3}} \end{bmatrix} = {i\; E_{c}^{1,3}}}}},{\left( E_{c}^{1,4} \right)^{- 1} = {\begin{bmatrix} e_{c\; 11} & e_{c\; 12} \\ e_{c\; 41} & e_{c\; 42} \end{bmatrix}^{- 1} = {\begin{bmatrix} {i\; e_{c\; 11}^{1,4}} & {i\; e_{c\; 12}^{1,4}} \\ {i\; e_{c\; 21}^{1,4}} & {i\; e_{c\; 22}^{1,4}} \end{bmatrix} = {i\; E_{c}^{1,4}}}}},{\left( E_{c}^{2,3} \right)^{- 1} = {\begin{bmatrix} e_{c\; 21} & e_{c\; 22} \\ e_{c\; 31} & e_{c\; 32} \end{bmatrix}^{- 1} = {\begin{bmatrix} {i\; e_{c\; 11}^{2,3}} & {i\; e_{c\; 12}^{2,3}} \\ {i\; e_{c\; 21}^{2,3}} & {i\; e_{c\; 22}^{2,3}} \end{bmatrix} = {i\; E_{c}^{2,3}}}}},{\left( E_{c}^{2,4} \right)^{- 1} = {\begin{bmatrix} e_{c\; 21} & e_{c\; 22} \\ e_{c\; 41} & e_{c\; 42} \end{bmatrix}^{- 1} = {\begin{bmatrix} {i\; e_{c\; 11}^{2,4}} & {i\; e_{c\; 12}^{2,4}} \\ {i\; e_{c\; 21}^{2,4}} & {i\; e_{c\; 22}^{2,4}} \end{bmatrix} = {i\; E_{c}^{2,4}}}}},$

Then the constraint controllers that further decouples constraints from one another for two subset cases are: {dot over (v)} ₁ ^(i,j) =ie _(c11) ^(i,j) ·M _(p) ^(d) ³ (i)+ie _(c12) ^(i,j) ·M _(p) ^(d) ³ (j), {dot over (v)} ₂ ^(i,j) =ie _(c21) ^(i,j) ·M _(p) ^(d) ³ (i)+ie _(c22) ^(i,j) ·M _(p) ^(d) ³ (j).

Where i=1, 2; j=3, 4.

Constraint controllers for single subset cases are derived below:

$\begin{matrix} {{\begin{bmatrix} e_{c\; 11} \\ e_{c\; 21} \end{bmatrix}{\overset{.}{v}}_{1}} = {{M_{p}^{d_{3}}\left( {1:2} \right)} - {{E_{c}\left( {{1:2},2} \right)} \cdot {\overset{.}{v}}_{2}}}} \\ {= {\begin{bmatrix} {M_{p}^{d_{3}}(1)} \\ {M_{p}^{d_{3}}(2)} \end{bmatrix} - \begin{bmatrix} {e_{c\; 12} \cdot {\overset{.}{v}}_{2}} \\ {e_{c\; 22} \cdot {\overset{.}{v}}_{2}} \end{bmatrix}}} \\ {{= M_{p,d_{2}}^{d_{3}}},} \end{matrix}$ $\begin{matrix} {{\begin{bmatrix} e_{c\; 32} \\ e_{c\; 42} \end{bmatrix}{\overset{.}{v}}_{2}} = {{M_{p}^{d_{3}}\left( {3:4} \right)} - {{E_{c}\left( {{3:4},1} \right)} \cdot {\overset{.}{v}}_{1}}}} \\ {= {\begin{bmatrix} {M_{p}^{d_{3}}(3)} \\ {M_{p}^{d_{3}}(4)} \end{bmatrix} - \begin{bmatrix} {e_{c\; 31} \cdot {\overset{.}{v}}_{1}} \\ {e_{c\; 41} \cdot {\overset{.}{v}}_{1}} \end{bmatrix}}} \\ {{= M_{p,d_{1}}^{d_{3}}},} \end{matrix}$

Then the constraint controllers for single subset cases: {dot over (v)} ₁ ^(i)=(e _(ci,1))⁻¹ ·M _(p,d) ₂ ^(d) ³ (i), {dot over (v)} ₂ ^(j)=(e _(cj,2))⁻¹ ·M _(p,d) ₂ ^(d) ³ (i). where i=1, 2; j=3, 4.

The MIMO constraint control design method demonstrated for two constraint subsets above is generic, and it can be easily applied to the cases where constraint subsets are more than two.

Constraint Control Selection Logic

For the problem of multiple variable control with multiple constraints, in general, the multiple constraints can be distributed in two or higher dimensions, i.e., there are two or more subsets of constraints. Further, the to-be-active constraints may be sometimes in one subset only and sometimes in two or more subsets at same time.

Therefore, it is desired that the Selection Logic should process all subsets at each step and the transitions of multi-subsets and single subset. Specifically, in each subset, the Selection Logic selects the multi-subset most limiting constraint from the pseudo inputs resulted from two or more subsets active cases and the single subset most limiting constraint from the pseudo inputs resulted from single subset active case. Then the Selection Logic selects the most limiting constraint from the multi-subset most limiting constraint, the single subset most limiting constraint, and the pseudo input generated by the traded-off controlled output based on pre-determined selection logic, which is determined by the physical relationships between the max/min constraints and the traded-off controlled output. Then in system level, i.e., considering the results from all subsets, the Selection Logic conducts integrated selection to make final decisions which pseudo inputs should be placed to the pseudo input entries.

Considering for a given constraint, single subset case and multi-subsets case cannot happen to it at same time, however it can transition from one to the other, therefore, in a given subset, the single subset case and multi-subsets case need to go through separate selection processes, and the transition will naturally go through by the selection results from system level integrated selection.

An example for demonstration of the selection logic is provided below. The example is associated with y₁ and y₂ respectively, and each subset has 2 constraints: y₁-subset: {max y_(c1), min y_(c1), min y_(c2)}, y₂-subset: {max y_(c3), min y_(c3), max y_(c4)}.

Assume that there are two subsets of the concerned constraints, corresponding to two primary control outputs to be traded off, respectively: y ₁-subset:{y _(c1) ,y _(c2)} y ₂-subset:{y _(c3) ,y _(c4)}i.e.,{maxy _(c3),miny _(c3),maxy _(c4)} and consider {max y_(c1), min y_(c1), min y_(c2)} and {max y_(c3), min y_(c3), max y_(c4)} case.

Without loss of generality and clear formulation, assume that the concerned constraints are active either in single subset only or in two subsets at same time, all possible cases are given below: {y _(c1) },{y _(c2)},{y_(c3)},{y_(c4)},{y_(c1) ,y _(c3) },{y _(c1) ,y _(c4) },{y _(c2) ,y _(c3) },{y _(c2) ,y _(c4)},

Considering the constraints {max y_(c1), min y_(c1), min y_(c2)} in y₁-subset, assume that to satisfy max y_(c1) needs to reduce y₁, i.e., {dot over (v)}₁ ^(y) ¹ <0, if max y_(c1) is violated, it generates {dot over (v)}₁ ^(1+,•)<0 or, {dot over (v)}₁ ¹⁺<0, therefore, select the minimum value from {dot over (v)}₁ ^(1+,•), {dot over (v)}₁ ¹⁺, and {dot over (v)}₁ ^(y) ¹ can satisfy max y_(c1); to satisfy min y_(c1) needs to increase y₁, i.e., {dot over (v)}₁ ^(y) ¹ >0, if min y_(c1) is violated, it generates {dot over (v)}₁ ^(1−,•)>0 or, {dot over (v)}₁ ¹⁻>0; to satisfy min y_(c2) needs to increase y₁, i.e., {dot over (v)}₁ ^(y) ¹ >0, if min y_(c2) is violated, it generates {dot over (v)}₁ ^(2−,•)>0 or, {dot over (v)}₁ ²⁻>0; therefore, select the maximum value from {dot over (v)}₁ ^(1−,•), {dot over (v)}₁ ^(2−,•), {dot over (v)}₁ ¹⁻, {dot over (v)}₁ ²⁻ and {dot over (v)}₁ ^(y) ¹ can satisfy both min y_(c1) and min y_(c2). Also assume that maximum constraint overrules the minimum constraints.

FIG. 4 demonstrates the assumed y₁-subset selection logic for {max y_(c1), min y_(c1), min y_(c2)}. In single subset case, min y_(c1) and min y_(c2) generate {dot over (v)}₁ ¹⁻ and {dot over (v)}₁ ²⁻, respectively; max y_(c1) generates {dot over (v)}₁ ¹⁺. Applying the assumed relationships for y₁-subset aforementioned, the single subset most limiting constraint is {dot over (v)}_(1,S) ^(ML)=min(max({dot over (v)}₁ ¹⁻,{dot over (v)}₁ ²⁻),{dot over (v)}₁ ¹⁺). In multi-subsets case, min y_(c1) generates {dot over (v)}₁ ¹⁻³⁺, {dot over (v)}₁ ¹⁻³⁻ and {dot over (v)}₁ ¹⁻⁴⁺, min y_(c2) generates {dot over (v)}₁ ²⁻³⁺, {dot over (v)}₁ ²⁻³⁻ and {dot over (v)}₁ ²⁻⁴⁺, max y_(c1) generates {dot over (v)}₁ ¹⁺³⁺, {dot over (v)}₁ ¹⁺³⁻, and {dot over (v)}₁ ¹⁺⁴⁺. Applying the assumed relationships aforementioned, the multi-subsets most limiting constraint of is {dot over (v)}_(1,M) ^(ML)=min(max({dot over (v)}₁ ¹⁻³⁺, {dot over (v)}₁ ¹⁻³⁻,{dot over (v)}₁ ¹⁻⁴⁺, {dot over (v)}₁ ²⁻³⁺, {dot over (v)}₁ ²⁻³⁻, {dot over (v)}₁ ²⁻⁴⁺), {dot over (v)}₁ ¹⁺³⁺, {dot over (v)}₁ ¹⁺³⁻, {dot over (v)}₁ ¹⁺⁴⁺); the y₁-subset most limiting constraint is: {dot over (v)}₁ ^(ML)=min({dot over (v)}₁ ^(y) ¹ , {dot over (v)}_(1,S) ^(ML), {dot over (v)}_(1,M) ^(ML)).

Considering the constraints {max y_(c3), min y_(c3), max y_(c24)} in y₂-subset assume that to satisfy max y_(c3) needs to increase y₂, i.e., {dot over (v)}₂ ^(y) ² ≦0, if max y_(c3) is violated, it generates {circumflex over (v)}₂ ^(•,3+)>0 or, {dot over (v)}₂ ³⁺>0; to satisfy max y_(c4) needs to increase y₂, i.e., {dot over (v)}₂ ^(y) ^(2>) 0, if max y_(c4) is violated, it generates {dot over (v)}₂ ^(•,4+)>0 or, {dot over (v)}₂ ⁴⁺>0; therefore, select the maximum value from {dot over (v)}₂ ^(•3+), {dot over (v)}₂ ^(•,4+), {dot over (v)}₂ ³⁺, {dot over (v)}₂ ⁴⁺ and {dot over (v)}₂ ^(y) ² can satisfy both max y_(c3) and max y_(c4); to satisfy min y_(c3) needs to reduce y₂, i.e., {dot over (v)}₂ ^(y) ² <0, if min y_(c3) is violated, it generates {dot over (v)}₂ ^(•,3−)<0 or, {dot over (v)}₂ ³⁻<0, therefore, select the minimum value from {dot over (v)}₂ ^(•,3−), {dot over (v)}₂ ³⁻, and {dot over (v)}₂ ^(y) ² can satisfy min y_(c3). Also assume that maximums overrule the minimum constraint.

FIG. 5 demonstrates the assumed y₂-subset selection logic for {max y_(c3), min y_(c3), max y_(c24)}. In single subset case, max y_(c3) and max y_(c4) generate {dot over (v)}₂ ³⁺ and {dot over (v)}₂ ⁴⁺, respectively; min y_(c3) generates {dot over (v)}₂ ³⁻. Applying the assumed relationships for y₂-subset aforementioned, the single subset most limiting constraint is {dot over (v)}_(2,S) ^(ML)=max(max({dot over (v)}₂ ³⁺, {dot over (v)}₂ ⁴⁺), {dot over (v)}₂ ³⁻). In multi-subsets case, max y_(c3) generates {dot over (v)}₂ ¹⁻³⁺, {dot over (v)}₂ ¹⁺³⁺ and {dot over (v)}₂ ²⁻³⁺, max y_(c4) generates {dot over (v)}₂ ¹⁻⁴⁺, {dot over (v)}₂ ¹⁺⁴⁺ and {dot over (v)}₂ ²⁻⁴⁺, min y_(c3) generates {dot over (v)}₂ ¹⁺³⁻, {dot over (v)}₂ ¹⁻³⁻, and {dot over (v)}₂ ²⁻³⁻. Applying the assumed relationships aforementioned, the multi-subsets most limiting constraint is {dot over (v)}_(2,S) ^(ML)=max(min({dot over (v)}₂ ¹⁺³⁻, {dot over (v)}₂ ¹⁻³⁻, {circumflex over (v)}₂ ²⁻³⁻), {dot over (v)}₂ ¹⁺³⁺, {dot over (v)}₂ ¹⁻³⁺, {dot over (v)}₂ ¹⁻⁴⁺, {dot over (v)}₂ ¹⁺⁴⁺, {dot over (v)}₂ ²⁻³⁺, {dot over (v)}₂ ²⁻⁴⁺); the y₂-subset most limiting constraint is: {dot over (v)}₂ ^(ML)=max({dot over (v)}₂ ^(y) ² , {dot over (v)}_(2,S) ^(ML), {dot over (v)}_(2,M) ^(ML)).

In system level, considering both subsets y₁-subset and y₂-subset are active at one time, one of them is active at another time, and the transitions, the integrated selection makes decisions based on the results from the two subsets: {dot over (v)}₁ ^(ML), {dot over (v)}₁ ^(y) ¹ , {dot over (v)}_(1,S) ^(ML), {dot over (v)}_(1,M) ^(ML), {dot over (v)}₂ ^(ML), {dot over (v)}₂ ^(y) ² , {dot over (v)}_(2,S) ^(ML), {dot over (v)}_(2,M) ^(ML), and desires to make smooth transitions.

FIG. 6 demonstrates the integrated selection logic. The checking conditions are determined by the results from the two subsets: {dot over (v)}₁ ^(ML), {dot over (v)}₁ ^(y) ¹ , {dot over (v)}_(1,S) ^(ML), {dot over (v)}_(1,M) ^(ML), {dot over (v)}₂ ^(ML), {dot over (v)}₂ ^(y) ² , {dot over (v)}_(2,S) ^(ML), {dot over (v)}_(2,M) ^(ML).

Step 1: If both subsets are active, i.e., the first condition is true, then both y₁ and y₂ need to be traded off, it follows that {dot over (v)}₁ ^(y) ¹ is replaced by {dot over (v)}_(1,M) ^(ML), and {dot over (v)}₂ ^(y) ² replaced by {dot over (v)}_(2,M) ^(ML).

Step 2: If not both subsets are active, check condition 2—if y₁ subset is active only. If condition 2 is true, then this is single subset case, y₁ needs to be traded off, and y₂ need to stay, it follows that {dot over (v)}₁ ^(y) ¹ is replaced by {dot over (v)}_(1,S) ^(ML), and {dot over (v)}₂ ^(y) ² is kept.

Step 3: If condition 2 is not true, check condition 3—if y₂ subset is active only. If condition 3 is true, then this is single subset case, y₂ needs to be traded off, and y₁ need to stay, it follows that {dot over (v)}₂ ^(y) ² is replaced by {dot over (v)}_(2,S) ^(ML), and {dot over (v)}₁ ^(y) ¹ is kept.

Step 4: If condition 3 is not true, then there are no active constraints in both subsets, it follows that {dot over (v)}₁ ^(y) ¹ and {dot over (v)}₂ ^(y) ² stay, no primary controlled outputs are traded off.

More specifically, referring to FIG. 6, the algorithm starts at step 20 and proceeds to step 22. At step 22, if {dot over (v)}₁ ^(y) ¹ ≠{dot over (v)}₁ ^(ML) && {dot over (v)}₂ ^(y) ² ≠{dot over (v)}₂ ^(ML)

Then, at step 24, {dot over (v)} ₁ ={dot over (v)} ₁ ^(ML); {dot over (v)} ₂ ={dot over (v)} ₂ ^(ML); then proceed to end at step 26.

Otherwise the algorithm proceeds to step 28. At step 28, if {dot over (v)}₁ ^(y) ¹ ={dot over (v)}₁ ^(ML) && {dot over (v)}₂ ^(y) ² ≠{dot over (v)}₂ ^(ML)

Then, at step 30, {dot over (v)} ₁ ={dot over (v)} ₁ ^(y) ¹ {dot over (v)} ₂ ={dot over (v)} _(2,S) ^(ML); then proceed to end at step 26.

Otherwise the algorithm proceeds to step 32. At step 32, if {dot over (v)}₁ ^(y) ¹ ≠{dot over (v)}₁ ^(ML) && {dot over (v)}₂ ^(y) ² ={dot over (v)}₂ ^(ML)

Then, at step 34, {dot over (v)} ₁ ={dot over (v)} _(1,S) ^(ML); {dot over (v)} ₂ ={dot over (v)} ₂ ^(y) ² ; then proceed to end at step 26.

Otherwise, the algorithm proceeds to step 36, where, {dot over (v)} ₁ ={dot over (v)} ₁ ^(y) ¹ ; {dot over (v)} ₂ ={dot over (v)} ₂ ^(y) ² ;

End at step 26.

The architecture of a generic Advanced Multiple Variable Control with High Dimension Multiple Constraints is shown in FIG. 1. It works in the way described below:

(1) A multiple input multiple output (MIMO) primary decoupling controller 40: (a) generates control command derivatives—{dot over (u)} to the integral action 42; and (b) provides decoupled control (using dynamics inversion or some other known method) from {dot over (v)} to y. The dynamics of the decoupled controlled plant (from {dot over (v)} to y) are shaped to enable desired robust control of the primary control outputs. The coupled I/O mapping between {dot over (u)} and y becomes decoupled new I/O mapping between {dot over (v)} and y, and the pseudo input entries {dot over (v)} provide the common comparable points that the pseudo inputs generated by constraint controllers can be compared with the pseudo inputs generated by primary controlled outputs in accordance with the Selection Logic 50.

(2) A set of SISO lead/lag controllers 52 may be installed upstream of the primary MIMO Primary Decoupling Controller 40 to extend the bandwidths of decoupled primary SISO control loops, providing {dot over (v)}* to the primary MIMO Primary Decoupling Controller 40. Because this is a common element that would affect the primary and the constraint control, this would also extend the SISO closed loop bandwidth when running to constraints.

(3) A set of decoupled SISO controllers 56 for controlled outputs tracking which receive primary controlled output tracking errors (Control References (58) minus the Controlled Outputs (48)) and provide desired primary controlled output based pseudo inputs {dot over (v)}_(p), respectively. Tunes the primary control loops independently of the constraint outputs, so they can be optimized without impacting the characteristics of the constraint control.

(4) A multiple input multiple output (MIMO) constraint decoupling controller 60 that controls the New Controlled Plant formed by the MIMO primary controller 40 and the physical plant 62. The MIMO constraint decoupling controller 60: (a) generates pseudo inputs {dot over (v)}_(c) based on the desired constraint responses for the Selection Logic; and (b) decouples the constraints from one another based on the newly shaped controlled plant {dot over (v)} to y_(c); and (c) decouples the constraints from the non-traded off primary controlled outputs by rejecting the non-traded off primary controlled outputs as known disturbance inputs {dot over (v)}_(pr).

(5) A set of decoupled SISO controllers 64 for constraint outputs tracking which receive constraint output tracking errors (Constraint Limits minus Constraint Outputs) and provide desired constrain controlled pseudo inputs {dot over (v)}_(c), respectively. Tunes the constraint control loops independently of the primary outputs, so they can be optimized without impacting the characteristics of the primary control.

(6) Selection Logic 50 compares the pseudo inputs generated by every given subset of constraints and the pseudo input generated by the primary controlled output associated with that subset, selects the most limiting constraint for each subset, and makes system level selection integration to determine the final pseudo inputs to go into the SISO Lead/Lag and MIMO Primary Decoupling Controller.

(7) An integral action 42 includes a set of integrators common to both the primary and constraint control. The integral action integrates each {dot over (u)} into a corresponding u thus forming the reference for each actuator inner loop. Each integrator may be dynamically limited to respect corresponding actuator operating limits. The integrator is shown in FIG. 3.

As an example implementation, architecture of a 3×3 Advanced Multiple Variable Control with Two sets of Constraints is shown in FIG. 2 (the elements in FIG. 2 directly or indirectly corresponding to elements in FIG. 1 have the same numerals, but have added one-hundred). It works in the way described below:

(1) 3×3 MIMO primary decoupling controller 140 not only generating control command derivatives—{dot over (u)}₁, {dot over (u)}₂ and {dot over (u)}₃ to the integral action but also shaping the common pseudo input entries—{dot over (v)}₁, {dot over (v)}₂, and {dot over (v)}₃ based on primary controlled output y (y₁, y₂, y₃) to {dot over (u)} ({dot over (u)}₁, {dot over (u)}₂, {dot over (u)}₃) dynamics inversion and decoupled primary SISO desired plant dynamics via state feedback such that the coupled I/O mapping between {dot over (u)} and Y becomes decoupled new I/O mapping between {dot over (v)} and Y with desired plant dynamics, and the pseudo input entries {dot over (v)} provide the common comparable points that the pseudo inputs generated by constraint control can be compared with the pseudo inputs generated by primary control accordingly in Selection Logic.

(2) There are only three control handles in this example, which implies there will be at most three subsets of constraints. In this case, assume two subsets of constraints associated with y₁ and y₂ respectively, and each subset has two constraints: y₁-subset: {max y_(c1), min y_(c1), min y_(c2)}, y₂-subset: {max y_(c3), min y_(c3), max y_(c4)}.

(3) Three SISO lead/lag controllers 152 that is intend to extend the bandwidths of decoupled primary SISO control loops, respectively, also are common to be used by the selected constraints for the same purpose. If the SISO lead/lags are not needed, then they can be set to 1, respectively.

(4) Three decoupled SISO proportional controllers 156 for controlled outputs tracking which receive primary controlled output tracking errors (Control References minus Controlled Outputs) and provide desired primary controlled outputs based pseudo inputs—{dot over (v)}₁, {dot over (v)}₂, and {dot over (v)}₃, respectively. Assumed y₃ is not to be traded off, {dot over (v)}₃ will serve as known disturbance input in constraint control; {dot over (v)}₁ and {dot over (v)}₂ will go into Selection Logic 150 to be compared with the pseudo inputs generated by constraint controllers.

(5) A set of 2×2 MIMO constraint decoupling controllers 160 is shown (2×2 is assumed case in this example, any number of such constraint decoupling controllers can be utilized, depending upon the actual control system) to control two subsets of constraints. The constraint decoupling controllers in this example decouple the constraint of subset 1 from constraint of subset 2, respectively, i.e., decoupling y_(c1) from y_(c3), y_(c1) from y_(c4), y_(c2) from y_(c3), y_(c2) from y_(c4), based on constraints y_(c) to {dot over (v)} dynamics inversion and decoupled constraint SISO desired dynamics via state feedback, and decoupling the constraints from the non-traded off primary controlled output y₃ by rejecting the known disturbance inputs {dot over (v)}₃, it follows that the resulted four decoupled SISO constraint controllers ((y_(ci)→{dot over (v)}₁ ^(•,j)), i=1, 2; j=3, 4) for generating pseudo inputs {dot over (v)}₁ ^(i,j) for subset 1 to be compared with {dot over (v)}₁ and four decoupled SISO constraint controllers ((y_(cj)→{dot over (v)}₂ ^(i,•)), i=1, 2; j=3, 4) for generating pseudo inputs {dot over (v)}₂ ^(i,j) for subset 2 to be compared with {dot over (v)}₂. If a constraint has two limits, then the same decoupled SISO constraint controller generates two outputs, that is, two pseudo inputs each corresponds to one limit input; if the constraint has one limit, then the decoupled SISO constraint controller generates one output, that is, one pseudo input. Based on assumptions on constraints in this case, there are following generated pseudo inputs, {dot over (v)}₁ ^(1+,3−), {dot over (v)}₁ ^(1+,3+), {dot over (v)}₁ ^(1−,3+), {dot over (v)}₁ ^(1−,3−), {dot over (v)}₁ ^(1+,4+), {dot over (v)}₁ ^(1−,4+), {dot over (v)}₁ ^(2−,3−), {dot over (v)}₁ ²⁺⁻³⁺, {dot over (v)}₁ ²⁻⁴⁺, in subset 1 to be compared with {dot over (v)}₁; and {dot over (v)}₂ ^(1+,3−), {dot over (v)}₂ ^(1+,3+), {dot over (v)}₂ ^(1−,3+), {dot over (v)}₂ ^(1−,3−), {dot over (v)}₂ ^(1+,4+), {dot over (v)}₂ ^(1−,4+), {dot over (v)}₂ ^(2−,3−), {dot over (v)}₂ ²⁺⁻³⁺, {dot over (v)}₁ ^(2−,4+) in subset 2 to be compared with

(6) Four decoupled SISO controllers 164 for constraint outputs tracking which receive constraint output tracking errors (lim y_(ci)=y_(ci), i=1, 2, 3, 4) and shape desired constraint tracking responses, respectively; same constraint with different limits as reference inputs will use the same constraint decoupled SISO controller.

(7) One selection logic 150 for subset 1 and one selection logic 150 for subset 2. Each compares the pseudo inputs generated by the given subset of constraints and the pseudo input generated by the primary controlled output associated with that subset, selects the most limiting constraint for each subset, and determines the final pseudo input to go into the SISO Lead/Lag 152 and MIMO Primary Decoupling Controller 140.

(8) Three common SISO integrators 142 which are not individually shown in FIG. 2 due to limited space. Each integrator works for each decoupled primary SISO loop, generates each {dot over (u)}_(i) from each {dot over (u)}_(i), i=1, 2, 3, and passes it to each control handle—actuator inner loop as input command reference accordingly, each integrator is dynamically saturated with the max/min operating range of a given actuator. The integrator 142 is shown in FIG. 3.

The common SISO integrator 142 is shown in FIG. 3. (1) Calculate: {dot over (u)}_(k)={dot over (ũ)}_(k)+{dot over (u)}_(k−1) according to the perturbation definition; (2) Apply the max/min operating rate limits to {dot over (u)}_(k); (3) Calculate current step command change: Δu_(k)=T_(s)·{dot over (u)}_(k), where T_(s) is the sampling time; (4) Calculate current step command: u_(k)=Δu_(k)+u_(k−1); (5) Apply the max/min operating limits u_(k) as shown in FIG. 4.

Technically, the current approach overcomes the fundamental, longstanding MIMO mode selection challenge of selecting between multiple sets of control modes due to the coupled and confounded set of input variables associated with a coupled complex plant process (for example, a typical gas turbine engine processes). The pseudo inputs from the new controlled plant resulted from the primary control provide MIMO mode selection criteria which have a direct, one-to-one correspondence from a given constraint to the specific performance trade-off decision according to pre-determined rules. This solution preserves SISO-type mode selection simplicity even with high dimension constraints systems. It allows a simple SISO constraint controller or certain simple SISO constraint controllers, selected from multiple constraints, that reconfigure the existing primary MIMO control online by replacing the traded-off output with the selected constraint when a single subset is active or replacing the traded-off outputs with the selected constraints when multiple subsets are active. The resultant design has explicit physical meaning, is simple, deterministic, fundamentally robust, and easily maintainable.

It is to be understood the control system architectures disclosed herein may be provided in any manner known to those of ordinary skill, including software solutions, hardware or firmware solutions, and combinations of such. Such solutions would incorporate the use of appropriate processors, memory (and software embodying any algorithms described herein may be resident in any type of non-transitory memory), circuitry and other components as is known to those of ordinary skill.

Having disclosed the inventions described herein by reference to exemplary embodiments, it will be apparent to those of ordinary skill that alternative arrangements and embodiments may be implemented without departing from the scope of the inventions as described herein. Further, it will be understood that it is not necessary to meet any of the objects or advantages of the invention(s) stated herein to fall within the scope of the inventions, because undisclosed or unforeseen advantages may exist. 

What is claimed is:
 1. A control system for a physical plant, comprising: an integral action control unit providing control signals for a physical plant; a multiple-input-multiple-output (MIMO) primary decoupling controller decoupling controlled outputs from one another and shaping pseudo inputs/controlled outputs desired plant dynamics and providing control command derivatives to the integral action control unit and thereby forming at least part of a new controlled plant; and a multiple-input-multiple-output (MIMO) constraint decoupling controller decoupling constraint outputs from one another and from non-traded off controlled output(s) and shaping pseudo inputs/constraint outputs desired plant dynamics and providing pseudo inputs to the new controlled plant, and wherein the MIMO constraint decoupling controller decouples constraint outputs from one another, and decouples the constraints from the non-traded off primary controlled outputs.
 2. The control system of claim 1, further comprising a selection logic section for selecting pseudo inputs for the primary decoupling controller from the pseudo inputs calculated by the MIMO constraint decoupling controller and the pseudo inputs calculated by the controlled output tracking controllers based on primary decoupling control.
 3. The control system of claim 2, further comprising a set of decoupled single-input-single-output (SISO) controlled output tracking controllers receiving controlled output tracking error signals and providing pseudo input signals to the new controlled plant.
 4. The control system of claim 3, wherein the selection logic compares the pseudo inputs from the MIMO constraint decoupling controller and the pseudo inputs from the SISO controlled output tracking controllers and selects the most limiting constraint for each primary SISO control loop and provides them to the (SISO) lead/lag controllers.
 5. The control system of claim 1, further comprising a set of single-input-single-output (SISO) lead/lag controllers to extend the bandwidths of decoupled primary SISO control loops, providing v-dot-star to the primary decoupling controller.
 6. The control system of claim 1, wherein the MIMO constraint decoupling controller decouples the constraints from the non-traded off primary controlled outputs by rejecting non-traded off primary controlled outputs as known disturbance inputs.
 7. The control system of claim 1, further comprising a set of single-input-single-output (SISO) constraint output tracking controllers that receive constraint output tracking errors from the physical plant and shape desired constraint responses and provide the inputs to the MIMO constraint decoupling controller.
 8. The control system of claim 7, wherein the constraint output tracking errors are determined, at least in part, based upon the differences between predetermined constraint limits and constraint outputs.
 9. A method for multiple variable control of a physical plant with high dimensions multiple constraints, comprising the steps of: utilizing a control unit for controlling a physical plant with multiple inputs and multiple primary controlled outputs and high dimension multiple constraints; decoupling the multiple primary controlled outputs from one another and shaping pseudo inputs/controlled outputs desired plant dynamics; decoupling the multiple constraints from one another; decoupling the multiple constraints from non-traded off primary controlled outputs; shaping pseudo inputs/constraint outputs desired plant dynamics; and selecting the most limiting constraints for the pseudo input entries.
 10. The method of claim 9, wherein the step of decoupling the multiple controlled outputs involves a multi-input-multi-output (MIMO) primary decoupling controller.
 11. The method of claim 9, wherein the step of decoupling the multiple constraints involves a multi-input-multi-output (MIMO) constraint decoupling controller.
 12. The method of claim 9, wherein the step of selecting the most limiting constraints involves a selection logic.
 13. The method of claim 12, wherein the selection logic comparing the pseudo inputs generated by given subsets of constraints and the pseudo inputs generated by the primary controlled outputs associated with those subset, respectively, and selecting the most limiting constraint for each subset based, at least in part, on those comparisons.
 14. The method of claim 12, wherein the Selection Logic determining the most limiting constraint for each subset based on pre-determined rules and managing the constraint active/inactive transitions cross subsets and providing smooth pseudo inputs to the MIMO primary decoupling controller.
 15. The method of claim 9, wherein the MIMO primary decoupling controller provides decoupled control using dynamics inversion.
 16. The method of claim 9, further comprising a step of extending the bandwidths of decoupled primary control loops using a set of single-input-single-output (SISO) lead/lag controllers upstream of the MIMO primary decoupling controller.
 17. The method of claim 9, wherein the step of decoupling the multiple constraints from non-traded off primary controlled outputs includes a step of rejecting the non-traded off primary controlled outputs as known disturbance inputs. 